package com.easymall.service;

import com.easymall.domain.Category;

import java.sql.SQLException;
import java.util.List;

public interface CategoryService {

    /**
     * 初始化生命周期函数
     */
    void init() throws Exception;

    /**
     * 添加分类
     * @param category Category对象
     * @return true-成功，false-删除失败
     */
    boolean saveCategory(Category category) throws SQLException;

    /**
     * 提供分类id，删除对应的分类
     * @param cid 分类的id
     * @return true-成功，false-删除失败
     */
    boolean deleteCategory(int cid) throws SQLException;

    /**
     * 获取所有的分类
     * @return 返回一个包含Category对象的ArrayList列表
     */
    List<Category> listCategoryAll() throws SQLException;

    /**
     * 提供分类id，获取对应的Category对象
     * @param cid 分类id
     * @return Category对象
     */
    Category getCategoryById(int cid) throws SQLException;

    /**
     * 检测分类名称是否存在
     * @param cname 分类名称
     * @return true-存在，false-不存在
     */
    boolean hasCategoryByName(String cname) throws SQLException;

    /**
     * 检测分类id是否存在
     * @param cid 分类id
     * @return true-存在，false-不存在
     * @throws SQLException 数据库查询失败
     */
    boolean hasCategoryById(int cid) throws SQLException;
}
